﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Scap.Info
{
    public class ScapSchedule
    {
        public int Id { get; set; }

       
        public string Name { get; set; }
        public string Description { get; set; }
        public bool IsEnabled { get; set; }
        public bool CheckInRequired { get; set; }

        [DataType(DataType.Date)]
        public DateTime StartDate { get; set; }

        [DataType(DataType.Date)]
        public DateTime EndDate { get; set; }

        [DataType(DataType.Time)]
        public DateTime CheckIn { get; set; }

        [DataType(DataType.Time)]
        public DateTime CheckOut { get; set; }
                             
        // PENDING

        //public ScapScheduleType Type { get; set; }
        //public ScapScheduleFrequency Frequency { get; set; }

        //public int DailyInterval { get; set; }
        
        //public int WeeklyInterval { get; set; }
        //public bool WeeklyMonday { get; set; }
        //public bool WeeklyTuesday { get; set; }
        //public bool WeeklyWednesday { get; set; }
        //public bool WeeklyThursday { get; set; }
        //public bool WeeklyFriday { get; set; }
        //public bool WeeklySaturday { get; set; }
        //public bool WeeklySunday { get; set; }

        //public int MonthlyInterval { get; set; }        
        //public ScapScheduleMonthlyFrequency MonthlyFrequency { get; set; }        
        //public int MonthlyDayInterval { get; set; }
        //public ScapScheduleWeek MonthlyWeek { get; set; }
        //public ScapScheduleDay MonthlyWeekDay { get; set; }              
    }

    public enum ScapScheduleType
    {
        Normal,
        Exception,
        Holiday,
        Vacation,
        Permission
    }
       
    public enum ScapScheduleFrequency
    {
        Daily,
        Weekly,
        Monthly
    }

    public enum ScapScheduleMonthlyFrequency
    {
        DayNumber,
        DaySequence
    }

    public enum ScapScheduleWeek
    {
        First,
        Second,
        Third,
        Fourth,
        Last
    }

    public enum ScapScheduleDay
    {
        Monday,
        Tuesday,
        Wednesday,
        Thursday,
        Friday,
        Saturday,
        Sunday,
        Day,
        WeekDay,
        WeekendDay
    }
  
}
